import request from "@/config/axios";

export interface ApiErrorLogVO {
    id: number;
    traceId: string;
    userId: number;
    userType: number;
    applicationName: string;
    requestMethod: string;
    requestParams: string;
    requestUrl: string;
    userIp: string;
    userAgent: string;
    exceptionTime: Date;
    exceptionName: string;
    exceptionMessage: string;
    exceptionRootCauseMessage: string;
    exceptionStackTrace: string;
    exceptionClassName: string;
    exceptionFileName: string;
    exceptionMethodName: string;
    exceptionLineNumber: number;
    processUserId: number;
    processStatus: number;
    processTime: Date;
    resultCode: number;
    createTime: Date;
}

// 查询列表API 访问日志
export const getApiErrorLogPage = (params: PageParam) => {
    return request.get({ url: "/infra/api-error-log/page", params });
};

// 更新 API 错误日志的处理状态
export const updateApiErrorLogPage = (id: number, processStatus: number) => {
    return request.put({
        url: "/infra/api-error-log/update-status?id=" + id + "&processStatus=" + processStatus
    });
};

// 导出API 访问日志
export const exportApiErrorLog = (params) => {
    return request.download({
        url: "/infra/api-error-log/export-excel",
        params
    });
};
